Skip to content

Exclude libkvikio from libcuml wheel repair - #8604

Merged
rapids-bot[bot] merged 2 commits into
NVIDIA:mainfrom
csadorf:ci/exclude-libkvikio-from-wheel-repair
Sep 10, 2026
Merged

Exclude libkvikio from libcuml wheel repair#8604
rapids-bot[bot] merged 2 commits into
NVIDIA:mainfrom
csadorf:ci/exclude-libkvikio-from-wheel-repair

Conversation

@csadorf

@csadorf csadorf commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

Excludes libkvikio.so from auditwheel repair because KvikIO is provided as a separate wheel dependency.

Closes #8603

@csadorf csadorf added bug Something isn't working non-breaking Non-breaking change labels Sep 10, 2026
@copy-pr-bot

copy-pr-bot Bot commented Sep 10, 2026

Copy link
Copy Markdown

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@csadorf

This comment was marked as outdated.

@csadorf

This comment has been minimized.

@csadorf
csadorf marked this pull request as ready for review September 10, 2026 09:57
@csadorf
csadorf requested a review from a team as a code owner September 10, 2026 09:57
@csadorf
csadorf requested a review from bdice September 10, 2026 09:57
@coderabbitai

coderabbitai Bot commented Sep 10, 2026

Copy link
Copy Markdown

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 1a7e5983-464a-4fcd-bf46-8b992b8cd40c

📥 Commits

Reviewing files that changed from the base of the PR and between 5cc7111 and aa559c0.

📒 Files selected for processing (1)
  • ci/build_wheel_libcuml.sh

Included review availability: Your plan provides up to 12 included reviews per hour; 11 remain after this review.


📝 Summary

Summary by CodeRabbit

  • Chores
    • Updated package build handling to preserve the libkvikio.so library during wheel creation.

Walkthrough

The libcuml wheel build script excludes libkvikio.so during wheel repair. This addresses auditwheel failures that affected CUDA 12 and 13 builds across amd64 and arm64.

Changes

libcuml wheel repair

Layer / File(s) Summary
Add libkvikio.so exclusion
ci/build_wheel_libcuml.sh
The wheel repair exclusion list now omits libkvikio.so.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Severity of issue fixed: High

Suggested reviewers: jameslamb, chyunsu3

Merge Risk: ⚪ Minimal · up to aa559

The libcuml wheel repair now skips libkvikio.so, avoiding auditwheel lookup failures because KvikIO is supplied separately. The focused change is mergeable.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely states the main change: excluding libkvikio.so from libcuml wheel repair.
Description check ✅ Passed The description directly explains the change and its reason. It also references linked issue #8603.
Linked Issues check ✅ Passed The change addresses issue #8603 by excluding libkvikio.so from auditwheel repair, which resolves the reported failure to locate that library during libcuml wheel builds.
Out of Scope Changes check ✅ Passed The pull request changes only the libcuml wheel repair exclusion list. The change is directly related to the linked issue and introduces no unrelated scope.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 1…
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@jameslamb jameslamb left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suspect this is related to NVIDIA/cuvs#2565 (changed the kvikio linking in cuvs).

If so, you'll probably need a similar change on release/26.10. There just hasn't been another build on that branch since that PR merged 6 hours ago.

Approving and merging this to unblock CI on main, but you should put up a similar PR targeting release/26.10.

@jameslamb

Copy link
Copy Markdown
Member

/merge

@rapids-bot
rapids-bot Bot merged commit 76b0ce2 into NVIDIA:main Sep 10, 2026
80 checks passed
@csadorf
csadorf deleted the ci/exclude-libkvikio-from-wheel-repair branch September 10, 2026 12:56
jameslamb pushed a commit that referenced this pull request Sep 10, 2026
Excludes `libkvikio.so` from `auditwheel repair` because KvikIO is
provided as a separate wheel dependency.

Backport of #8604 for `release/26.10`.
rapids-bot Bot pushed a commit to rapidsai/cugraph that referenced this pull request Sep 11, 2026
As of NVIDIA/cuvs#2565 (I think), `libcuvs.so` requires `libkvikio.so` at runtime.

```shell
mkdir -p ./delete-me
pip download \
  -d ./delete-me \
  --no-deps \
  --index-url https://pypi.anaconda.org/rapidsai-wheels-nightly/simple/ \
  'libcuvs-cu13>=26.10.0a0'
cd ./delete-me
unzip ./libcuvs*.whl
```

```console
$ ldd libcuvs/lib64/libcuvs.so
        ...
        libkvikio.so => not found
        ...
```

`auditwheel repair` sees that dependency when it resolves `libcugraph.so`'s dependency on `libcuvs.so`, and so CI is failing here like this:

> ValueError: Cannot repair wheel, because required library "libkvikio.so" could not be located

([build link](https://github.com/rapidsai/cugraph/actions/runs/34483969788/job/102894257002))

This fixes that by excluding `libkvikio.so` from `auditwheel repair`. This is safe to do because `libcuvs-cu13` has a runtime dependency on `libkvikio-cu13` to provide that.

## Notes for Reviewers

A similar change was needed in `cuml`: NVIDIA/cuml#8604

Authors:
  - James Lamb (https://github.com/jameslamb)

Approvers:
  - Kyle Edwards (https://github.com/KyleFromNVIDIA)
  - Bradley Dice (https://github.com/bdice)

URL: #5663
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working ci non-breaking Non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[CI] libcuml wheel repair cannot locate libkvikio.so

3 participants